chore(release): version packages#99
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@textcortex/slidewise@1.21.0
Minor Changes
652f804: feat(pptx): layout-instantiation in
applyEdits(lossless scale-with-variety)applyEditsnow supportssource: { layoutId, fills? }in aPlannedSlide—instantiating a fresh slide from one of the template's own layouts inside
the lossless byte-patch path. Because the layout is already a part of
source,the new slide binds to
ppt/slideLayouts/<layoutId>.xml(inheriting theme /master / background chrome) while every other part stays byte-identical. This
unlocks lossless and scale-with-variety in one deck: clone slides where you
want the exact thing, instantiate from layouts where you want variety.
Each layout placeholder is materialised as an addressable, positioned element
with a deterministic id —
layoutSlotElementId(layoutId, key)(exported) wherekeyis theplaceholderKey/summarizeLayoutsslot key. Text/objslotsare populated from
fillsand editable viasetText; picture slots become a<p:pic>with a transparent placeholder blip sosetImagecan repoint them;chart/table/other slots expose their geometry so the host fills them with
addChart/addDiagram. Placeholder geometry is read EMU-native from thelayout (falling back to the matching master slot), so it stays correct without a
canvas-px round-trip. An unresolvable
layoutIdis surfaced viaonWarningandthe slide is skipped rather than shipped wrong.
652f804: feat(render): headless
renderDeckToImages+deck.fontUsagefont transparencyHeadless render-to-image (visual-QA loop). New browser-free renderer that
draws what the editor draws — native charts (
buildChartOption+ EChartsSSR), diagrams (
layoutDiagram), text/shapes/images/backgrounds in z-order —not the OOXML raster fallbacks. No Playwright/Chromium/DOM.
renderDeckToSvg(deck, opts?)→ one composed SVG per slide (ECharts isloaded on demand, so it never bloats the editor bundle).
renderDeckToImages(deck, opts?)/renderSlideToImage(deck, i, opts?)/renderPptxToImages(bytes, opts?)→ raster bytes. Rasterisation is aninjected hook (
opts.rasterizeSvg, e.g.@resvg/resvg-js); when omitted thedefault tries a dynamic
@resvg/resvg-jsimport and throws a clear error ifit isn't installed — so there's no hard native dependency.
opts:slides(1-based subset),dpi(canvas scales bydpi/96),format,maxWidth(thumbnail cap). Deterministic (no animation).Enables the host's render → fresh-eyes inspect → targeted
applyEditsfix →re-render cycle, rendering a final
applyEditsoutput directly.Font transparency.
parsePptxnow stampsdeck.fontUsage: { family, embedded }[]— every font family the deck's text uses, flaggedwhether the source PPTX actually embeds it (
<p:embeddedFontLst>→ a realppt/fonts/*part) or merely references it (system-fallback risk onviewers that don't ship the brand font). Hosts use it to warn at generation
time ("missing fonts for some ppts"). It's a read-only diagnostic, distinct from
deck.fonts(the embeddable payloads).website@0.0.35
Patch Changes